﻿using System;
using System.Configuration;
using Ext.Net;

namespace ERP.Modules.FileUpload
{
    public partial class FileUpload : System.Web.UI.UserControl
    {
        private readonly string path = ConfigurationManager.AppSettings["Folder"];
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void btnUpload_Click(object sender, DirectEventArgs e)
        {
            Upload(Server.MapPath(path));
        }
        #region[Method]
        private void Upload(string path)
        {
            try
            {
                string tpl;
                tpl = "Tập tin đã tải lên : {0}<br/>Dung lượng :" + String.Format("{0:0.00}", "{1}") + " bytes";
                if (FileUploadPanel.HasFile)
                {
                    if (CheckFileType())
                    {
                        FileUploadPanel.PostedFile.SaveAs(path + FileUploadPanel.FileName);
                        X.Msg.Show(new MessageBoxConfig
                        {
                            Buttons = MessageBox.Button.OK,
                            Icon = MessageBox.Icon.INFO,
                            Title = "Thông báo",
                            Message =
                                string.Format(tpl, FileUploadPanel.PostedFile.FileName,
                                    FileUploadPanel.PostedFile.ContentLength)
                        });
                    }
                    else
                    {
                        X.Msg.Show(new MessageBoxConfig
                        {
                            Buttons = MessageBox.Button.OK,
                            Icon = MessageBox.Icon.ERROR,
                            Title = "Lỗi",
                            Message = "Tập tin " + FileUploadPanel.FileName.Split('.')[1] + " không được hỗ trợ !"
                        });
                    }
                }
                else
                {
                    X.Msg.Show(new MessageBoxConfig
                    {
                        Buttons = MessageBox.Button.OK,
                        Icon = MessageBox.Icon.ERROR,
                        Title = "Lỗi",
                        Message = "Không có tập tin được chọn"
                    });
                }
            }
            catch (Exception ex)
            {
                HTML.clsFormat.Alert_ERROR("Lỗi", ex.Message);
            }
        }
        private bool CheckFileType()
        {
            var check = FileUploadPanel.PostedFile.FileName.EndsWith(".zip") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".jpg") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".png") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".gif") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".txt") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".xls") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".doc") ||
                         FileUploadPanel.PostedFile.FileName.EndsWith(".xml");
            return check;
        }
        #endregion
    }
}